package lc周赛348;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/6/4 16:23
 */
public class Note {

    /*
     前两题 ，都是 思维题， 没啥好说的！
     */

    // 第二题
    public int semiOrderedPermutation(int[] nums) {
        int minIndex = 0,maxIndex =0;
        for(int i = 0;i< nums.length;i++){
            if(nums[i] == 1){
                minIndex = i;
            }
            if(nums[i] == nums.length){
                maxIndex = i;
            }

        }
        int ans = minIndex + nums.length - 1 - maxIndex;
        return minIndex > maxIndex ? ans - 1 : ans;
    }

    // 第一题：
    public int minimizedStringLength(String s) {
        int count = 0;
        for(int i = 0;i < s.length();i++){
            count |= 1 << (s.charAt(i) - 'a');
        }
        //用 stream 流 来处理的 会更加的快速， 更加的练习strem 的用法！
        int ans = (int) s.chars().distinct().count();
        return Integer.bitCount(count);
    }

}
